FIG. 1 schematically illustrates a conventional data processing machine or computer. The computer 10 comprises a processor or CPU 12, a main memory 14 and a disk memory 16 which are interconnected by a bus 18. Also connected to the bus 18 is an input device 20, such as a keyboard, as well as a display system 22. The display system 22 comprises a graphics interface 24 and display device 26 such as a CRT display.
The CPU 12 may maintain databases by storing the databases in data files in the disk memory 16. Each database may be stored in accordance with one of a plurality of file system formats. A file system format is an arrangement for organizing the data of each record of a database into a data file. The organization of the data of each record of a database within the data file controls the manner in which the database may be accessed.
Typically, the CPU 12 executes application programs which are resident in the main memory 14. An application is a program for performing a "high level" task or a task on a higher level of generality. Such "high level" tasks relate more to solving real world problems than "low level" tasks which relate more to operating the CPU 12 itself. Many applications involve the examination and alteration of the data of records of databases, which, for example, are stored in the disk memory 16. The application performs such manipulations of the data of records by means of executing record access procedures comprised therein.
Typically, procedures are program segments written for, and comprised within, an application program. Record access procedures ordinarily only access the records themselves, rather than the data files in which they are stored. For instance, record access procedures may maintain (manipulate the data of) records or permit the browsing of records, e.g., permit the display of a selected page of records. The former procedures relate to altering a record including adding and removing records from the database. The latter procedures relate to displaying selected records including filtering or displaying only selected fields of each record.
Maintenance procedures usually require the performance of at least one database access operation in order to alter or retrieve records of the database. Database access operations are generalized routines for maintaining a database, retrieving records from a database and positioning a pointer to point to a particular record within a database. Typically, the database access operations are performed by executing a program module pertaining to that particular operation and the particular file system format in which the database is stored. The file system, which has a program module for performing each database access operation, executes the appropriate program module to perform the requested access operation. The procedures of the application may call the modules, pass parameters to and receive messages and parameters therefrom. The procedures are otherwise typically isolated from the program modules and the data files in which the database is stored.
Most file systems support, i.e. can perform, the same basic set of database access operations. However, on account of the differences between different database storage formats of different file systems, the actual steps executed by each program module differ greatly. Thus, each application, although able to use the same logical sequence of each procedure, must accommodate the program modules of a variety of file systems in order to execute these procedures. Such an arrangement, whereby the applications themselves incorporate the record access procedures, is disadvantageous because:
1. The design of each application program, under this arrangement, is more time consuming and effort demanding; PA1 2. The expansion of applications is more difficult; PA1 3. The record access procedure command set, i.e. the set of requests for performing each record access procedure, of each application program, is not consistent with any other application; and PA1 4. The efficiency of application software is not optimal. PA1 (a) Browsing procedures PA1 (b) Record maintenance procedures PA1 Select Current Line PA1 (a) Record positioning operations PA1 (b) Record retrieval operations PA1 (c) Record maintenance operations PA1 1. The application program is easier to maintain as the application programmer need not maintain the database interface aspect of the program. Further, as the record management interface is updated, the database aspect of each user application is automatically updated or subsequently easily updated. PA1 2. Record access procedures occur on a higher level of generality. In other words, the programmer need not be concerned with the particulars of designing any of the procedures of the interface. Further, the programmer need not be concerned with determining which filing system formats to support, i.e. which file system program modules to incorporate. PA1 3. The user and programmer need only learn one general set of record access procedure commands rather than a set for each application. PA1 4. The storage space of each application which performs record access procedures is reduced as the record access procedures are removed and consolidated in one program.
The interaction of an application program with the database operations of a multiplicity of file system formats is schematically illustrated in FIG. 2. FIG. 2 schematically illustrates the group of operation program modules for three different file systems designated file system 1, file system 2 and file system 3. Each of the file systems has a corresponding group of databases in data files which accord with its own format. Each file system also provides program modules for executing database access operations such as: set current record position, get current record position, get first record, get previous record, get next record, get last record, insert one new record, delete current record, update current record, and select current record.
FIG. 2 also schematically illustrates two application programs, designated application A and application B. Application A interacts directly with the file system 1 and file system 2 program modules and application B interacts directly with the file system 2 and file system 3 program modules. As such, application A incorporates record access procedures which support, i.e. can cause the execution of, the database access operation program modules of file systems 1 and 2. Application B, on the other hand, incorporates record access procedures which support the database access operation program modules of file systems 2 and 3. As indicated above, the direct interaction of the application programs with the file system program modules is highly deleterious and duplicative.
Accordingly, it is an object of the present invention to provide a common interface by which application programs may perform record access procedures which support, i.e. can perform, database access operations for any one of a plurality of file system formats. Another object of the present invention is to insulate the applications from the various file system program modules. It is a further object of the present invention to provide a universal record maintenance procedure command set, i.e. a single set of messages for performing each record access procedure, which may be used by any application.